JavaScript Module Declarations
moduleという構文を追加して、1つのファイルに複数のmoduleを定義できるようにする
code:js
// filename: app.js
module countModule {
let i = 0;
export function count() {
i++;
return i;
}
}
export module uppercaseModule {
export function uppercase(string) {
return string.toUpperCase();
}
}
import { count } from countModule;
import { uppercase } from uppercaseModule;
console.log(count()); // 1
console.log(uppercase("daniel")); // "DANIEL"
一言で言うと「モジュール内モジュール」を可能にするためのECMAScriptプロポーザルです。Module Fragmentsにより、「同じファイル内の別のモジュールからimportする」のようなことが可能になります。つまり、元々のモジュールグラフを1つのファイルの中の複数のモジュールたちとして埋め込むことができ、「1つのファイルである」ことと「たくさんのモジュールがまとまっている」ことが両立されます。ref